package demo;
/**
 *  杨辉三角
 *  [i][j] = [i-1][j]+[i-1][j-1]
 */

import java.util.ArrayList;
import java.util.List;

public class Solution {
    public List<List<Integer>> generate(int numRows){
        List<List<Integer>> ret = new ArrayList<>();
        List<Integer> row1 = new ArrayList<>();
        row1.add(1);
        ret.add(row1);
       /* ret.add(row1);
        ret.get(0).add(1);*/
        for (int i = 1; i < numRows; i++) {
            List<Integer> row = new ArrayList<>();
            row.add(1);
            /*ret.add(row);
            ret.get(i).add(1);*/
            for (int j = 1; j < i; j++) {
                int num = ret.get(i-1).get(j)+ret.get(i-1).get(j-1);
                ret.get(i).add(num);
            }
            ret.get(i).add(1);
            ret.add(row);
        }
        return ret;
    }
    public List<List<Integer>> generate2(int numRows){
        List<List<Integer>> ret = new ArrayList<>();
        List<Integer> row1 = new ArrayList<>();
        ret.add(row1);
        ret.get(0).add(1);
        for (int i = 1; i < numRows; i++) {
            List<Integer> row = new ArrayList<>();
            ret.add(row);
            ret.get(i).add(1);
            for (int j = 1; j < i; j++) {
                int prevRows = ret.get(i-1).get(j)+ret.get(i-1).get(j-1);
                ret.get(i).add(prevRows);
            }
            ret.get(i).add(1);
        }
        return ret;
    }
}
